package com.hongyi.common.web.filter;

import com.alibaba.fastjson2.filter.SimplePropertyPreFilter;
import lombok.NoArgsConstructor;

/**
 * 排除JSON敏感属性
 * <p>继承SimplePropertyPreFilter，此类通常用于 JSON 处理库中，比如 Jackson，用来指定哪些字段应该被排除在序列化或反序列化过程之外</p>
 * 
 * @author DingHao
 */
@NoArgsConstructor
public class PropertyPreExcludeFilter extends SimplePropertyPreFilter
{

    /**
     * 添加指定字段从序列化结果中排除
     *
     * @param filters 可变数量的字符串参数,需要排除的字段内容
     */
    public PropertyPreExcludeFilter addExcludes(String... filters)
    {
        for (int i = 0; i < filters.length; i++)
        {
            this.getExcludes().add(filters[i]);
        }
        return this;
    }
}
